home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
pcboard
/
tickle16.zip
/
TKL.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-10-04
|
23KB
|
1,314 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Boolean BOOLEAN007
Boolean BOOLEAN008
Boolean BOOLEAN009
Boolean BOOLEAN010
Boolean BOOLEAN011
Boolean BOOLEAN012
Boolean BOOLEAN013
Boolean BOOLEAN014
Boolean BOOLEAN015
Boolean BOOLEAN016
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Real REAL001
Real REAL002
Real REAL003
String TSTRING001(49)
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String TSTRING012(24)
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
String STRING034
String STRING035
Byte BYTE001
Int INT001
Int INT002
Int INT003
Int INT004
Int INT005
Int INT006
Int INT007
Int INT008
Int INT009
Int INT010
Int INT011
Int INT012
Int INT013
Int INT014
Int INT015
Int INT016
Int INT017
Int INT018
Int INT019
Declare Procedure PROC001()
;------------------------------------------------------------------------------
If ((STRING002 == "") || (STRING002 == "MENU")) BOOLEAN010 = 1
STRING010 = PPEPath() + LTrim(String(PcbNode()), " ") + ".FLG"
If (Exist(STRING010)) Delete STRING010
INT003 = 1
Gosub LABEL019
STRING026 = PPEPath() + "TKLTEXT" + LangExt()
Gosub LABEL044
If (DErr(0)) Then
Newline
PrintLn ReadLine(STRING026, 2)
Newline
PrintLn ReadLine(STRING026, 3)
Newline
Log "Cannot open TICKLE.DBF (DataBase) - Aborting", 0
Wait
Else
Gosub LABEL021
If (DErr(0)) Then
Newline
PrintLn ReadLine(STRING026, 4)
Newline
PrintLn ReadLine(STRING026, 3)
Newline
Log "Cannot open TICKLE.NDX (Index) - Aborting", 0
Wait
Else
Gosub LABEL005
Gosub LABEL049
If (STRING003 == "") Log "'Tickle File' entered by user", 0
If ((STRING002 == "MENU") || (STRING003 <> "")) Gosub LABEL014
Goto LABEL020
End
:LABEL001
STRING006 = ReplaceStr(STRING006, ",", " ")
If ((InStr(STRING006, "-") == 0) || (InStr(STRING006, "-") == 1)) Return
STRING017 = STRING006
STRING006 = ""
Tokenize STRING017
If (TokCount() == 0) Return
For INT008 = 1 To Len(STRING017)
STRING018 = GetToken()
If (STRING018 == "") Break
If (InStr(STRING018, "-") == 0) Then
STRING006 = STRING006 + STRING018 + " "
Continue
Endif
STRING010 = Mid(STRING018, 1, InStr(STRING018, "-") - 1)
If (STRING010 <> "") STRING011 = Mid(STRING018, InStr(STRING018, "-") + 1, Len(STRING018))
INT009 = S2I(STRING010, 10)
INT010 = S2I(STRING011, 10)
If (INT009 < 1) Then
If (INT009 == 0) STRING010 = STRING018
Newline
PrintLn ReadLine(STRING026, 26), STRING010, ReadLine(STRING026, 27)
Newline
Continue
Endif
If (INT010 > 24) Then
Newline
PrintLn ReadLine(STRING026, 26), INT010, ReadLine(STRING026, 27)
Newline
Continue
Endif
If (INT010 >= INT009) Then
For INT005 = INT009 To INT010
STRING006 = STRING006 + LTrim(I2S(INT005, 10), " ") + " "
Next
Continue
Endif
Newline
PrintLn ReadLine(STRING026, 5), STRING018, ReadLine(STRING026, 6)
Next
Return
:LABEL002
STRING014 = PPEPath() + LTrim(String(PcbNode()), " ") + ".FLG"
If (Exist(STRING014)) Then
FOpen 1, STRING014, 1, 0
Else
FCreate 1, STRING014, 1, 0
Endif
BOOLEAN006 = 1
STRING010 = Chr(13) + "FLAG "
For INT007 = 1 To INT003 - 1
STRING010 = STRING010 + TSTRING012(INT007) + " "
BOOLEAN006 = 0
If (Len(STRING010) > 230) Then
FPutLn 1, STRING010
STRING010 = Chr(13) + "FLAG "
Endif
Next
FPutLn 1, STRING010
FClose 1
Return
:LABEL003
INT002 = 0
For INT007 = 2 To 25
If (DGet(0, DName(0, INT007)) == " ") Then
INT002 = INT007 - 1
Break
Endif
Next
Return
:LABEL004
BOOLEAN015 = 0
For INT007 = 2 To 25
If (Upper(Trim(DGet(0, DName(0, INT007)), " ")) == Upper(Trim(STRING002, " "))) Then
BOOLEAN015 = 1
Break
Endif
Next
Return
:LABEL005
STRING007 = Upper(RTrim(U_Name(), " "))
DSeek 0, STRING007
If (DChkStat(0) == 0) Then
Gosub LABEL003
Else
SPrintLn ReadLine(STRING026, 7)
INT007 = DRecCount(0) + 1
DNew 0
DLockR 0, INT007
DBlank 0
DPut 0, "usr_name", STRING007
DAdd 0
INT002 = 1
Endif
Return
:LABEL006
Newline
If (InStr(STRING002, "SHORLI")) Goto LABEL007
Select Case (STRING003)
Case "138"
DispFile PPEPath() + "pcbt138", 1 + 4
Log "Insufficient time remaining to download (@OPTEXT@)", 0
Case "159"
DispFile PPEPath() + "pcbt159", 1 + 4
Log "(@OPTEXT@) Download bytes left available are @BYTESLEFT@", 0
Case "555"
DispFile PPEPath() + "pcbt555", 1 + 4
Log "Batch limit reached. @OPTEXT@ was not added to the batch.", 0
Case "669"
DispFile PPEPath() + "pcbt669", 1 + 4
Log "Downloading @OPTEXT@ would exceed your file ratio.", 0
Case "670"
DispFile PPEPath() + "pcbt670", 1 + 4
Log "Downloading @OPTEXT@ would exceed your byte ratio.", 0
Case "674"
DispFile PPEPath() + "pcbt674", 1 + 4
Log "Downloading @OPTEXT@ would exceed your file limit.", 0
Case "675"
DispFile PPEPath() + "pcbt675", 1 + 4
Log "Downloading @OPTEXT@ would exceed your byte limit.", 0
End Select
Goto LABEL008
:LABEL007
Select Case (STRING003)
Case "138"
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
PrintLn " @X0EInsufficient time remaining to download @X0A(@X0F@OPTEXT@@X0A)"
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
Newlines 2
Wait
Case "159"
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
PrintLn " @X0A(@X0F@OPTEXT@@X0A) @X0ESorry, @FIRST@, download bytes left available are @BYTESLEFT@"
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
Newlines 2
Wait
Case "655"
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
PrintLn " @X0EBatch limit reached. @X0F@OPTEXT@ @X0Ewas not added to the batch."
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
Newlines 2
Wait
Case "669"
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
PrintLn " @X0EDownloading @X0F@OPTEXT@ @X0Ewould exceed your file ratio."
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
Newlines 2
Wait
Case "670"
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
PrintLn " @X0EDownloading @X0F@OPTEXT@ @X0Ewould exceed your byte ratio."
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
Newlines 2
Wait
Case "674"
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
PrintLn " @X0EDownloading @X0F@OPTEXT@ @X0Ewould exceed your file limit."
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
Newlines 2
Wait
Case "675"
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
PrintLn " @X0EDownloading @X0F@OPTEXT@ @X0Ewould exceed your byte limit."
PrintLn " @X0F*@X0D──────────────────────────────────────────────────────────@X0F*"
Newlines 2
Wait
End Select
Goto LABEL020
:LABEL008
Newline
Return
:LABEL009
DispFile PPEPath() + "info", 1 + 4
BOOLEAN001 = 1
Return
:LABEL010
Newline
DispFile PPEPath() + "help", 1 + 4
BOOLEAN008 = 1
Return
:LABEL011
If (BOOLEAN002) Goto LABEL012
Gosub LABEL042
BOOLEAN002 = 1
Goto LABEL013
:LABEL012
Newline
:LABEL013
STRING006 = ""
STRING004 = ReadLine(STRING026, 8)
InputStr STRING004, STRING006, 14, 2, Mask_Ascii(), 256 + 8
If (STRING006 == "") Then
Newline
Return
Endif
INT008 = S2I(STRING006, 10)
STRING006 = String(INT008)
If ((INT008 > 24) || (INT008 < 1)) Then
Newline
PrintLn ReadLine(STRING026, 9)
Newline
Return
Else
STRING013 = "desc" + Trim(STRING006, " ")
STRING010 = "file" + Trim(STRING006, " ")
Endif
If (DGet(0, STRING010) <> " ") Then
BOOLEAN009 = 1
Gosub LABEL024
BOOLEAN009 = 0
Else
Newline
PrintLn ReadLine(STRING026, 58)
Endif
Newline
Return
:LABEL014
STRING006 = ""
If (!BOOLEAN001 && (STRING003 <> "")) Then
SaveScrn
Gosub LABEL003
Gosub LABEL006
Gosub LABEL009
:LABEL015
Newline
PrintLn " @X0BJust hit @X0EENTER @X0Bto not add @X0D", STRING002, " @X0Bto your Tickle Database...."
Newline
STRING006 = "N"
If (BOOLEAN014 && ((STRING003 == "138") || (STRING003 == "159"))) Then
STRING004 = " " + ReadLine(STRING026, 10)
InputStr STRING004, STRING006, 14, 1, "CNY", 8 + 256 + 2 + 4
Else
STRING004 = " " + ReadLine(STRING026, 74)
InputStr STRING004, STRING006, 14, 1, "NY", 8 + 256 + 2 + 4
Endif
If (STRING006 == "") STRING006 = "N"
If (STRING006 == "C") Then
DUnlock 0
DnCloseAll 0
DClose 0
BOOLEAN014 = 0
DOpen 5, STRING025 + "BANK.DBF", 0
DnOpen 5, STRING025 + "BANK.NDX"
STRING007 = Upper(RTrim(U_Name(), " "))
DSeek 5, STRING007
If (DChkStat(5) == 0) Then
Gosub LABEL017
FPutLn 7, "************ End of Session *************"
FPutLn 7
FClose 7
DnCloseAll 5
DClose 5
If (BOOLEAN016) Then
Newline
STRING006 = "Y"
STRING004 = "@X0EAttempt to @X0CRe-Flag @X0Efile for downloading: @X0F" + STRING002
InputYN STRING004, STRING006, 14
If (STRING006 == "Y") Then
KbdStuff "FLAG " + STRING002 + Chr(13)
Goto LABEL020
Endif
Endif
Gosub LABEL044
Gosub LABEL021
Goto LABEL015
Goto LABEL016
Endif
Newline
PrintLn " @X0CYou are not in the Bank Database@X0F....No information to display@X07"
Delay 18
DnCloseAll 5
DClose 5
Gosub LABEL044
Gosub LABEL021
Goto LABEL015
Endif
:LABEL016
If ((STRING006 == "Y") || (STRING006 == YesChar())) Then
Newline
STRING006 = "ADD VIOLATION"
BOOLEAN010 = 1
Gosub LABEL027
Endif
Else
If (!BOOLEAN008 && (STRING003 == "")) Gosub LABEL010
STRING004 = ReadLine(STRING026, 11)
InputStr STRING004, STRING006, 14, 1, Mask_Alpha(), 256 + 8
If (STRING006 == "A") Then
Gosub LABEL027
If (STRING003 <> "") Goto LABEL020
If (STRING006 == "") Goto LABEL014
Endif
If (STRING006 == "") Goto LABEL020
If (((BOOLEAN002 && (STRING006 <> "D")) && (STRING006 <> "F")) && (STRING006 <> "E")) BOOLEAN002 = 0
If (STRING006 == "D") Gosub LABEL035
If (STRING006 == "E") Gosub LABEL011
If (STRING006 == "F") Gosub LABEL038
If (STRING006 == "H") Gosub LABEL010
If (STRING006 == "L") Then
Gosub LABEL042
BOOLEAN002 = 1
Endif
If (STRING006 == "W") Gosub LABEL043
Goto LABEL014
:LABEL017
Gosub LABEL056
DPut 5, "last_d_acc", String(Date())
INT004 = DGet(5, "banktime")
INTEGER006 = DGet(5, "bankbytes")
STRING032 = DGet(5, "last_d_acc")
STRING033 = DGet(5, "bytewddate")
STRING034 = DGet(5, "timewddate")
INTEGER004 = DGet(5, "bytewd")
INTEGER008 = DGet(5, "timewd")
If (STRING033 <> STRING032) INTEGER004 = 0
If (STRING034 <> STRING032) INTEGER008 = 0
Gosub LABEL018
FAppend 7, STRING025 + "NODE" + String(PcbNode()) + ".LOG", 2, 0
FPutLn 7, "────────────── " + Mixed(U_Name()) + " ──────────────"
FPutLn 7
FPutLn 7, " Date: ", Date()
FPutLn 7, " Time: ", Time()
FPutLn 7, " ~~~~ TICKLE FILE ACCESS ~~~~~"
FPutLn 7, "════════════════════════════════════════"
FPutLn 7, " Bank Bytes : ", INTEGER006
FPutLn 7, " Bank Time : ", INT004
FPutLn 7, " Time W/D Today : ", INTEGER008
FPutLn 7, " Byte W/D Today : ", INTEGER004
Newline
PrintLn " @X0EYou current Bank Balances are: @X0C", INTEGER006, " @X0Abytes"
PrintLn " @X0E @X0C", INT004, " @X0Amins."
Newline
STRING006 = ""
STRING004 = " @X0EWithdrawl @X0CT@X0F)@X0Eime, or @X0CB@X0F)@X0Eytes @X0F(Enter=quit)"
InputStr STRING004, STRING006, 14, 1, "BT", 8 + 4 + 2 + 256
Select Case (STRING006)
Case "T"
Gosub LABEL055
Return
Case "B"
Gosub LABEL054
Return
Case Else
Newline
Return
End Select
Newline
Return
:LABEL018
STRING010 = STRING025 + "bank" + String(PcbNode()) + ".cfg"
If (Exist(STRING010)) Then
FOpen 6, STRING010, 0, 0
Else
FOpen 6, STRING025 + "bank.cfg", 0, 0
Endif
GetUser
While (1) Do
FGet 6, STRING010
If (Ferr(6)) Then
Newlines 5
PrintLn " @X0CSecurity Level not found@X0F......@X0C@X0EInform Sysop ASAP@X0F!!!@X07"
Log "Security Level not found in BANK Configuration file", 0
FPutLn 7, "Security Level ", String(U_Sec), " not found in BANK Configuration file"
Newline
PrintLn " @X0F......Hit any Key to return to BBS....."
PROC001()
Goto LABEL020
Endif
If (Left(STRING010, "'")) Continue
Tokenize STRING010
STRING031 = GetToken()
If (ToInt(STRING031) <> U_Sec) Then
Continue
Continue
Endif
STRING010 = GetToken()
STRING010 = GetToken()
INT019 = ToInt(GetToken())
INTEGER005 = ToInteger(GetToken())
STRING010 = GetToken()
STRING010 = GetToken()
STRING010 = Upper(GetToken())
STRING010 = Upper(GetToken())
Break
EndWhile
FClose 6
Return
:LABEL019
INT001 = TokCount()
Select Case (INT001)
Case 1
STRING002 = "MENU"
Case 2
STRING002 = GetToken()
STRING003 = GetToken()
Case 3
STRING002 = GetToken()
STRING003 = GetToken()
STRING010 = GetToken()
INTEGER009 = S2I(STRING010, 10)
Case Else
SPrintLn ReadLine(STRING026, 12)
Log "Too few or too many parameters in TKL.PPE Command Line", 0
INT001 = 1
End Select
Return
Endif
Endif
Endif
:LABEL020
If (BOOLEAN003 || BOOLEAN007) Gosub LABEL047
If (BOOLEAN007) Then
Gosub LABEL002
KbdFile STRING014
Log "User Flagged Files from TKL for D/L", 0
Endif
DUnlock 0
DnCloseAll 0
DClose 0
RestScrn
End
:LABEL021
If (Exist(PPEPath() + "tickle.ndx")) Goto LABEL022
DnCreate 0, PPEPath() + "tickle", "usr_name"
Goto LABEL023
:LABEL022
DnOpen 0, PPEPath() + "tickle"
:LABEL023
Return
STRING009 = LTrim(String(INT002), " ")
STRING008 = "file" + STRING009
STRING013 = "desc" + STRING009
Return
:LABEL024
If (BOOLEAN009) Goto LABEL025
STRING016 = ""
STRING004 = ReadLine(STRING026, 13)
InputStr STRING004, STRING016, 14, 1, "MASK_ASCII()", 8192 + 16384 + 256 + 8
Goto LABEL026
:LABEL025
STRING016 = "Y"
:LABEL026
If ((STRING016 == "Y") || (STRING016 == YesChar())) Then
STRING016 = ""
Newline
STRING004 = ReadLine(STRING026, 14)
InputStr STRING004, STRING016, 14, 15, Mask_Ascii(), 4 + 2
If (STRING016 == "") Return
DPut 0, STRING013, STRING016
Newline
Endif
Return
:LABEL027
If (STRING006 <> "ADD VIOLATION") Then
Gosub LABEL003
If (INT002 == 0) Then
Newline
PrintLn ReadLine(STRING026, 15)
Newline
Return
Endif
Endif
If (BOOLEAN010) Then
INT005 = 0
If (STRING006 <> "ADD VIOLATION") Then
Newline
STRING006 = ""
STRING004 = ReadLine(STRING026, 16)
InputStr STRING004, STRING006, 14, 100, Mask_Ascii(), 256 + 8
Newline
If (STRING006 == "") Return
Tokenize STRING006
INT005 = TokCount()
Goto LABEL028
Endif
STRING006 = STRING002
:LABEL028
If (INT005 > 0) Then
If (STRING019 <> "") Then
STRING019 = Trim(STRING019, " ")
FOpen 3, STRING019, 0, 0
Endif
BOOLEAN011 = 0
For INT006 = 1 To INT005
STRING002 = GetToken()
STRING002 = Trim(STRING002, " ")
If (Len(STRING002) > 12) Then
PrintLn ReadLine(STRING026, 17), STRING002
PrintLn ReadLine(STRING026, 18)
Continue
Endif
If (BOOLEAN012) Then
Frewind 3
STRING020 = Left(STRING002, 1)
BOOLEAN011 = 0
Gosub LABEL031
Goto LABEL029
Endif
BOOLEAN011 = 1
:LABEL029
Gosub LABEL004
If (BOOLEAN015) Then
PrintLn ReadLine(STRING026, 73)
Wait
Continue
Endif
If (BOOLEAN011) Then
STRING008 = "file" + LTrim(String(INT002), " ")
STRING013 = "desc" + LTrim(String(INT002), " ")
DPut 0, STRING008, STRING002
PrintLn ReadLine(STRING026, 19), STRING002
Newline
Gosub LABEL024
Newline
INT008 = INT002
Gosub LABEL003
If ((INT002 == 0) && (INT008 == 24)) Then
Newline
PrintLn ReadLine(STRING026, 20)
Newline
Break
Endif
Continue
Endif
PrintLn ReadLine(STRING026, 21), STRING002, ReadLine(STRING026, 22)
Next
If (BOOLEAN012) FClose 3
INT005 = 0
Log "User added file(s) to the TKL database", 0
Goto LABEL030
Endif
If (INT002 == 0) Then
Newline
PrintLn ReadLine(STRING026, 15)
Newline
Return
Goto LABEL030
Endif
Gosub LABEL004
If (BOOLEAN015) Then
PrintLn ReadLine(STRING026, 73)
Wait
Goto LABEL030
Endif
STRING008 = "file" + LTrim(String(INT002), " ")
STRING013 = "desc" + LTrim(String(INT002), " ")
DPut 0, STRING008, STRING002
Gosub LABEL024
Log "User added a file to the TKL database", 0
Endif
:LABEL030
Newline
Return
:LABEL031
FGet 3, STRING022
If (Ferr(3)) Return
If (Left(STRING022, 1) <> "%") Then
STRING010 = STRING022 + STRING002
If (Exist(STRING010)) Then
BOOLEAN011 = 1
Return
Endif
Else
STRING022 = Mid(STRING022, 2, Len(STRING022))
FOpen 4, STRING022, 0, 0
FSeek 4, 127, 0
FRead 4, BYTE001, 1
If (BYTE001 == 1) BOOLEAN005 = 1
Frewind 4
If (BOOLEAN005) Then
FRead 4, INTEGER001, 4
Else
FRead 4, INT014, 2
Endif
If (STRING020 < "A") STRING020 = "A"
If (STRING020 > "Z") STRING020 = "Z"
INT011 = S2I(STRING020, 36) - 9
If (BOOLEAN005) Then
FSeek 4, INT011 * 4, 0
FRead 4, INTEGER002, 4
FRead 4, INTEGER003, 4
Else
FSeek 4, INT011 * 2, 0
FRead 4, INT012, 2
INTEGER002 = INT012
FRead 4, INT012, 2
INTEGER003 = INT012
Endif
If (BOOLEAN005) Then
If (STRING020 == "Z") INTEGER003 = INTEGER001 + 1
Else
If (STRING020 == "Z") INTEGER003 = INT014 + 1
Endif
If (STRING020 == "A") INTEGER002 = 0
BOOLEAN013 = 0
BOOLEAN011 = 0
INT016 = INTEGER003
INT015 = INTEGER002 - 1
:LABEL032
If (BOOLEAN013) Goto LABEL033
REAL001 = INT016
REAL002 = INT015
REAL001 = REAL001 / 2
REAL002 = REAL002 / 2
REAL003 = REAL001 + REAL002 + 0.5
INT013 = REAL003
If (BOOLEAN005) Then
INTEGER010 = (INT013 - 1) * 19 + 128
Else
INTEGER010 = (INT013 - 1) * 13 + 128
Endif
FSeek 4, INTEGER010, 0
FRead 4, STRING023, 8
FRead 4, STRING024, 3
STRING023 = RTrim(STRING023, " ")
STRING024 = RTrim(STRING024, " ")
STRING021 = STRING023 + "." + STRING024
If (STRING021 == STRING002) Then
BOOLEAN011 = 1
BOOLEAN013 = 1
ElseIf (INT016 - INT015 < 2) Then
BOOLEAN013 = 1
ElseIf (STRING021 < STRING002) Then
INT015 = INT013
ElseIf (STRING021 > STRING002) Then
INT016 = INT013
Endif
Goto LABEL032
:LABEL033
FClose 4
Endif
If (BOOLEAN011) Goto LABEL034
Goto LABEL031
Goto LABEL035
:LABEL034
Return
:LABEL035
If (BOOLEAN002) Goto LABEL036
Gosub LABEL042
BOOLEAN002 = 1
Goto LABEL037
:LABEL036
Newline
:LABEL037
STRING006 = ""
PrintLn ReadLine(STRING026, 23)
PrintLn ReadLine(STRING026, 24)
STRING004 = ReadLine(STRING026, 25)
InputStr STRING004, STRING006, 14, 50, Mask_Ascii(), 256
If (STRING006 == "") Then
Newline
Return
Endif
Gosub LABEL001
Tokenize STRING006
INT005 = TokCount()
Newline
For INT007 = 1 To INT005
STRING010 = GetToken()
STRING010 = Trim(STRING010, " ")
If ((S2I(STRING010, 10) < 25) && (S2I(STRING010, 10) > 0)) Then
STRING011 = STRING010
STRING010 = "file" + Trim(STRING010, " ")
STRING011 = "desc" + Trim(STRING011, " ")
DPut 0, STRING010, " "
DPut 0, STRING011, " "
BOOLEAN003 = 1
Continue
Endif
STRING011 = LTrim(String(STRING010), " ")
PrintLn ReadLine(STRING026, 26), STRING011, ReadLine(STRING026, 27)
Next
If (INT005 > 0) Log "User Deleted file(s) from 'Tickle File'", 0
Newline
Return
:LABEL038
If (BOOLEAN002) Goto LABEL039
Gosub LABEL042
BOOLEAN002 = 1
Goto LABEL040
:LABEL039
Newline
:LABEL040
STRING006 = ""
PrintLn ReadLine(STRING026, 23)
PrintLn ReadLine(STRING026, 24)
STRING004 = ReadLine(STRING026, 28)
InputStr STRING004, STRING006, 14, 100, Mask_Ascii(), 256
Newline
If (STRING006 == "") Return
Gosub LABEL001
Tokenize STRING006
INT005 = TokCount()
For INT007 = 1 To INT005
StartDisp 1
STRING010 = GetToken()
If ((S2I(STRING010, 10) < 25) && (S2I(STRING010, 10) > 0)) Then
STRING011 = STRING010
STRING010 = "file" + Trim(STRING010, " ")
STRING013 = "desc" + Trim(STRING011, " ")
If (DGet(0, STRING010) <> " ") Then
TSTRING012(INT003) = Trim(DGet(0, STRING010), " ")
DPut 0, STRING010, " "
DPut 0, STRING013, " "
Inc INT003
BOOLEAN007 = 1
Goto LABEL041
Endif
PrintLn ReadLine(STRING026, 40), STRING011
:LABEL041
Continue
Endif
STRING011 = LTrim(String(STRING010), " ")
PrintLn ReadLine(STRING026, 26), STRING011, ReadLine(STRING026, 27)
Next
If (BOOLEAN007) PrintLn ReadLine(STRING026, 29)
StartDisp 2
Newline
Return
:LABEL042
StartDisp 1
Newlines 2
PrintLn ReadLine(STRING026, 31)
PrintLn ReadLine(STRING026, 32)
PrintLn ReadLine(STRING026, 33)
Newline
PrintLn ReadLine(STRING026, 34)
PrintLn ReadLine(STRING026, 35)
For INT007 = 1 To 24
STRING010 = DGet(0, DName(0, INT007 + 1))
STRING013 = DGet(0, DName(0, INT007 + 25))
If (INT007 < 10) Print " "
Print "@X0F", INT007, ". @X03", STRING010
Print Space(2)
Print "@X02", STRING013
Print Space(2)
If (!INT007 % 2) Newline
Next
Newlines 2
StartDisp 2
BOOLEAN002 = 1
Return
:LABEL043
STRING006 = ""
Newline
STRING004 = ReadLine(STRING026, 36)
InputStr STRING004, STRING006, 14, 1, Mask_Ascii(), 8192 + 16384 + 256 + 8
If ((STRING006 == "Y") || (STRING006 == YesChar())) Then
DBlank 0
DPut 0, "usr_name", STRING007
Newline
PrintLn ReadLine(STRING026, 37)
Log "User DELETED ENTIRE 'Tickle File'", 0
Delay 36
Endif
Newline
Return
:LABEL044
If (Exist(PPEPath() + "tickle.dbf")) Goto LABEL045
TSTRING001(0) = "usr_name,C,25,0"
TSTRING001(1) = "file1,C,12,0"
TSTRING001(2) = "file2,C,12,0"
TSTRING001(3) = "file3,C,12,0"
TSTRING001(4) = "file4,C,12,0"
TSTRING001(5) = "file5,C,12,0"
TSTRING001(6) = "file6,C,12,0"
TSTRING001(7) = "file7,C,12,0"
TSTRING001(8) = "file8,C,12,0"
TSTRING001(9) = "file9,C,12,0"
TSTRING001(10) = "file10,C,12,0"
TSTRING001(11) = "file11,C,12,0"
TSTRING001(12) = "file12,C,12,0"
TSTRING001(13) = "file13,C,12,0"
TSTRING001(14) = "file14,C,12,0"
TSTRING001(15) = "file15,C,12,0"
TSTRING001(16) = "file16,C,12,0"
TSTRING001(17) = "file17,C,12,0"
TSTRING001(18) = "file18,C,12,0"
TSTRING001(19) = "file19,C,12,0"
TSTRING001(20) = "file20,C,12,0"
TSTRING001(21) = "file21,C,12,0"
TSTRING001(22) = "file22,C,12,0"
TSTRING001(23) = "file23,C,12,0"
TSTRING001(24) = "file24,C,12,0"
TSTRING001(25) = "desc1,C,15,0"
TSTRING001(26) = "desc2,C,15,0"
TSTRING001(27) = "desc3,C,15,0"
TSTRING001(28) = "desc4,C,15,0"
TSTRING001(29) = "desc5,C,15,0"
TSTRING001(30) = "desc6,C,15,0"
TSTRING001(31) = "desc7,C,15,0"
TSTRING001(32) = "desc8,C,15,0"
TSTRING001(33) = "desc9,C,15,0"
TSTRING001(34) = "desc10,C,15,0"
TSTRING001(35) = "desc11,C,15,0"
TSTRING001(36) = "desc12,C,15,0"
TSTRING001(37) = "desc13,C,15,0"
TSTRING001(38) = "desc14,C,15,0"
TSTRING001(39) = "desc15,C,15,0"
TSTRING001(40) = "desc16,C,15,0"
TSTRING001(41) = "desc17,C,15,0"
TSTRING001(42) = "desc18,C,15,0"
TSTRING001(43) = "desc19,C,15,0"
TSTRING001(44) = "desc20,C,15,0"
TSTRING001(45) = "desc21,C,15,0"
TSTRING001(46) = "desc22,C,15,0"
TSTRING001(47) = "desc23,C,15,0"
TSTRING001(48) = "desc24,C,15,0"
DCreate 0, PPEPath() + "tickle", 0, TSTRING001(BOOLEAN000)
Goto LABEL046
:LABEL045
DOpen 0, PPEPath() + "tickle", 0
:LABEL046
Return
:LABEL047
Newline
If (BOOLEAN004) Goto LABEL048
Print ReadLine(STRING026, 38)
BOOLEAN004 = 0
For INT007 = 2 To 25
STRING010 = DGet(0, DName(0, INT007))
If (STRING010 == " ") Then
For INT006 = INT007 + 1 To 25
STRING010 = DGet(0, DName(0, INT006))
STRING013 = DGet(0, DName(0, INT006 + 24))
If (STRING010 <> " ") Then
DPut 0, DName(0, INT007), STRING010
DPut 0, DName(0, INT007 + 24), STRING013
DPut 0, DName(0, INT006), " "
DPut 0, DName(0, INT007 + 25), " "
BOOLEAN004 = 1
Break
Continue
Endif
STRING018 = DName(0, INT007 + 25)
DPut 0, DName(0, INT007 + 25), " "
Next
Endif
If ((STRING010 == " ") && !BOOLEAN004) Break
Next
PrintLn ReadLine(STRING026, 39)
:LABEL048
Return
:LABEL049
STRING028 = PPEPath() + "TKL" + String(CurConf()) + ".CFG"
If (Exist(STRING028)) Then
FOpen 3, STRING028, 0, 0
FGet 3, STRING011
STRING011 = Upper(STRING011)
If (STRING011 == "TRUE") Then
BOOLEAN012 = 1
Goto LABEL050
Endif
BOOLEAN012 = 0
:LABEL050
FGet 3, STRING011
STRING011 = Upper(STRING011)
If (STRING011 == "FALSE") Then
BOOLEAN014 = 0
Goto LABEL051
Endif
BOOLEAN014 = 1
:LABEL051
FGet 3, STRING011
STRING025 = Trim(STRING011, " ")
If (STRING025 <> "") Then
If (Right(STRING025, 1) <> "\") STRING025 = STRING025 + "\"
Goto LABEL052
Endif
BOOLEAN014 = 0
:LABEL052
FClose 3
Endif
Gosub LABEL053
Return
:LABEL053
STRING027 = ReadLine(PCBDat(), 31)
STRING027 = STRING027 + ".@@@"
STRING029 = ReadLine(PCBDat(), 186)
STRING030 = ReadLine(PCBDat(), 251)
FOpen 1, STRING027, 0, 0
FRead 1, INT017, 2
FSeek 1, CurConf() * INT017 + 515, 1
FRead 1, STRING019, 33
FClose 1
STRING019 = RTrim(STRING019, " ")
Return
:LABEL054
If (STRING035 == "32767") Then
PrintLn "@X0CYou have UNLIMITED D/L Bytes - No need to withdrawl any...@X0EStrike any key..."
PROC001()
Return
Endif
Newline
STRING006 = ""
STRING004 = " @X0AWithdrawl How Many Bytes @X4F[ENTER]@X07 = @X02Quit"
InputStr STRING004, STRING006, 14, 9, "0123456789", 4 + 2 + 256
If (STRING006 == "") Then
Newline
Return
Endif
Newline
INTEGER007 = ToInteger(STRING006)
If (INTEGER005 <> 0) Then
If (INTEGER007 + INTEGER004 > INTEGER005) Then
PrintLn " @X0CYou are trying to withdrawl more than your"
Print " daily amount of @X0E", String(INTEGER005), " Bytes @X0F...... Hit Any Key ......"
FPutLn 7, "%%% Withdrawl Bytes: ", INTEGER007, " - TOO MANY DAILY BYTES"
PROC001()
Newline
Goto LABEL054
Endif
Endif
If (INTEGER007 > INTEGER006) Then
ClrEol
PrintLn " @X0CSorry, the amount you have entered is @X0AGREATER"
Print " @X0Cthen your current bank balance...@X0FHit any key ......"
FPutLn 7, "%%% Withdrawl Bytes: ", INTEGER007, " - TOO MANY BYTES"
PROC001()
Newline
Goto LABEL054
Endif
If (INTEGER007 <> 0) Then
AdjDBytes -INTEGER007
INTEGER006 = INTEGER006 - INTEGER007
DPut 5, "bankbytes", INTEGER006
Print " @X0F", INTEGER007, " @X0CBytes withdrawn from your account...@X0FHit any key...@X07"
FPutLn 7, "%%% Withdrawl Bytes: ", INTEGER007
INTEGER004 = INTEGER004 + INTEGER007
DPut 5, "bytewd", INTEGER004
DPut 5, "bytewddate", String(Date())
DPut 5, "last_d_acc", String(Date())
PROC001()
If (STRING003 == "159") BOOLEAN016 = 1
Endif
Newline
Return
:LABEL055
If (EvtTimeAdj()) Then
PrintLn " @X0CTime has been adjusted for an upcoming Event. You cannot"
Print " withdraw any time from your account...@X0FHit any key ......"
PROC001()
Newline
Return
Endif
Newline
STRING006 = ""
STRING004 = " @X0AWithdraw How Much Time @X4F[ENTER]@X07 = @X02Quit"
InputStr STRING004, STRING006, 14, 3, "0123456789", 4 + 2 + 256
If (STRING006 == "") Then
Newline
Return
Endif
Newline
INT018 = ToInt(STRING006)
If (INT018 > INT004) Then
PrintLn " @X0CSorry, the amount you have entered is @X0EGREATER"
Print " @X0Cthen your bank balance...@X0FHit any key ......"
FPutLn 7, "%%% Withdrawl Time: ", INT018, " - TOO MUCH TIME"
PROC001()
Newline
Goto LABEL055
Endif
If (INT019 <> 0) Then
If (INT018 + INTEGER008 > INT019) Then
PrintLn " @X0CYou are trying to withdrawl more than your"
Print " daily amount of @X0E", String(INT019), " Minutes @X0F...... Hit Any Key ......"
FPutLn 7, "%%% Withdrawl Time: ", INT018, " - TOO MUCH DAILY TIME"
PROC001()
Newline
Goto LABEL055
Endif
Endif
If (INT018 <> 0) Then
AdjTime INT018
INT004 = INT004 - INT018
DPut 5, "banktime", INT004
Print " @X0F", INT018, " @X0CMinutes withdrawn from your account...@X0FHit any key ......@X07"
FPutLn 7, "%%% Withdrawl Time: ", INT018
INTEGER008 = INTEGER008 + INT018
DPut 5, "timewd", INTEGER008
DPut 5, "timewddate", String(Date())
DPut 5, "last_d_acc", String(Date())
PROC001()
Newline
If (STRING003 == "138") BOOLEAN016 = 1
Endif
Newline
Return
:LABEL056
STRING010 = RTrim(ReadLine(PCBDat(), 32), " ")
FOpen 5, STRING010, 0, 0
While (5) Do
FGet 5, STRING011
If (Ferr(5)) Break
STRING011 = ReplaceStr(STRING011, ",", ";")
Tokenize STRING011
STRING015 = GetToken()
INT006 = GetToken()
If (U_Sec == INT006) Then
STRING015 = GetToken()
STRING035 = GetToken()
FPutLn 7, " Maximum D/L Bytes: ", STRING035
Break
Endif
EndWhile
FClose 5
Return
End
;------------------------------------------------------------------------------
Procedure PROC001()
While (STRING005 == "") Do
STRING005 = Inkey()
Delay 3
EndWhile
STRING005 = ""
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 1 ClrEol
; 11 Wait
; 223 Goto
; 280 Let
; 13 Print
; 66 PrintLn
; 162 If
; 9 DispFile
; 1 FCreate
; 8 FOpen
; 1 FAppend
; 8 FClose
; 6 FGet
; 22 FPutLn
; 4 StartDisp
; 1 GetUser
; 1 Delete
; 1 AdjTime
; 17 Log
; 13 InputStr
; 1 InputYN
; 44 Gosub
; 47 Return
; 3 Delay
; 1 Inc
; 70 Newline
; 10 Newlines
; 6 Tokenize
; 1 KbdStuff
; 1 KbdFile
; 1 SaveScrn
; 1 RestScrn
; 2 SPrintLn
; 2 Frewind
; 5 FSeek
; 11 FRead
; 1 AdjDBytes
; 1 EndProc
; 1 DCreate
; 2 DOpen
; 4 DClose
; 1 DLockR
; 2 DUnlock
; 1 DnCreate
; 2 DnOpen
; 4 DnCloseAll
; 1 DNew
; 1 DAdd
; 2 DBlank
; 2 DSeek
; 23 DPut
;
;
; ■ Functions used :
;
; 1 -
; 5 *
; 2 /
; 1 %
; 129 +
; 11 -
; 79 ==
; 23 <>
; 19 <
; 11 <=
; 14 >
; 23 >=
; 122 !
; 32 &&
; 20 ||
; 6 Len(
; 8 Upper()
; 3 Mid()
; 3 Left()
; 1 Right()
; 2 Space()
; 3 Ferr()
; 3 Chr()
; 6 InStr()
; 10 LTrim()
; 6 RTrim()
; 13 Trim()
; 6 Date()
; 1 Time()
; 3 U_Name()
; 3 YesChar()
; 1 Inkey()
; 21 String()
; 1 Mask_Alpha()
; 6 Mask_Ascii()
; 2 CurConf()
; 4 PCBDat()
; 19 PPEPath()
; 4 PcbNode()
; 56 ReadLine()
; 22 GetToken()
; 7 Exist()
; 1 I2S()
; 9 S2I()
; 1 LangExt()
; 5 TokCount()
; 2 ReplaceStr()
; 2 ToInteger()
; 3 ToInt()
; 1 Mixed()
; 1 EvtTimeAdj()
; 2 DErr()
; 13 DName()
; 1 DRecCount()
; 17 DGet()
; 2 DChkStat()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Aad
;
; A - Adjust online time remaining ■ 5
; Program modify the amount of online time remaining, this may
; be a way to bypass time limits
; ■ Search for : ADJTIME
;
; a - Adjust ratio ■ 4
; User's ratio is adjusted by changing the amount of files/bytes
; uploaded. This may be normal for a user editor.
; ■ Search for : ADJBYTES, ADJDBYTES, ADJTBYTES, ADJTFILES
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 11 For/Next
; 3 While/EndWhile
; 75 If/Then or If/Then/Else
; 4 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------